#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <stdio.h>
#include "GnssIpcp.h"

namespace vendor {
namespace ecarx {
namespace xma {
namespace gnss {
namespace V1_0 {
namespace gtest {

using testing::_;
using testing::ByMove;
using vendor::ecarx::xma::gnss::V1_0::implementation::GnssIpcp;

class GnssIpcpTest : public ::testing::Test {
  protected:
    virtual void SetUp() {}

    virtual void TearDown() {}
};

TEST_F(GnssIpcpTest, getGpsInterface) {
    ASSERT_TRUE(GnssIpcp::getGpsInterface() != nullptr);
}

TEST_F(GnssIpcpTest, initGnssIpcp) {
    EXPECT_EQ(GnssIpcp::initGnssIpcp(), 1);
}

TEST_F(GnssIpcpTest, reportStatusToIplm) {
    EXPECT_NO_THROW(GnssIpcp::reportStatusToIplm());
}

TEST_F(GnssIpcpTest, releaseGnssIpcp) {
    EXPECT_NO_THROW(GnssIpcp::releaseGnssIpcp());
}

}  // namespace gtest
}  // namespace V1_0
}  // namespace gnss
}  // namespace xma
}  // namespace ecarx
}  // namespace vendor

int main(int argc, char** argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}